
import db from '../db.js';//获取连接实例
import sequelize from 'sequelize'

import userModel from './userModel.js'

const { Sequelize, Op, Model, DataTypes } = sequelize;


// console.log(DataTypes);

// primaryKey: true 
// autoIncrement: true
// unique: true
// unique: "string" //多个相同的unique成为组合唯一键
const project = db.define('project', {
    // Model attributes are defined here
    userid: {
        type: DataTypes.INTEGER(11),
        allowNull: false,//allowNull 默认 true
        comment: '项目创建人',
        references: {
            model: userModel,
            key: 'id'
        }
    },
    name: {
        type: DataTypes.STRING(10),
        allowNull: false,//allowNull 默认 true
        comment: '项目名称'
    },
    webhook: {
        type: DataTypes.STRING(200),
        allowNull: true,
        comment: 'webhook地址'
    },
    webhookKey: {
        type: DataTypes.STRING(20),
        allowNull: true,
        comment: 'webhook加密key'
    },


}, {
    freezeTableName: true, // 默认false修改表名为复数，true不修改表名，与数据库表名同步      
    tableName: 'project',
    // indexes: [
    //     { unique: true, fields: ['name'] }
    // ],
    // timestamps: false,//禁止自动创建createdAt，updatedAt
});

// project.sync()- 如果表不存在，这将创建表（如果该表已存在，则不显示任何操作）
// project.sync({ force: true })- 这将创建表，如果表已存在，则先删除该表
// project.sync({ alter: true }) //这将检查数据库中表的当前状态（包含哪些列、它们的数据类型等），然后在表中执行必要的更改，使其与模型匹配。



export default project